The lllliiiioooo____lllliiiissssttttiiiioooo function allows the calling process to initiate a list of
I/O requests with a single function call.
The lllliiiioooo____lllliiiissssttttiiiioooo66664444() function is identical to lllliiiioooo____lllliiiissssttttiiiioooo() except that it
takes an array of aaaaiiiiooooccccbbbb66664444____tttt * (see <_a_i_o._h>). This structure allows for
the specification of a file offset greater than 2 Gigabytes.
The mmmmooooddddeeee argument takes a value of either LIO_WAIT or LIO_NOWAIT and
determines whether the function returns when the I/O operations have been
completed, or as soon as the operations have been queued. If the mmmmooooddddeeee
argument is LIO_WAIT, the function waits until all I/O is complete and
the ssssiiiigggg argument is ignored.
If the mmmmooooddddeeee argument is LIO_NOWAIT, the function returns immediately, and
signal delivery shall occur, according to the ssssiiiigggg argument, when all the
I/O operations complete. If ssssiiiigggg is NULL, then no signal delivery occurs
at the completion of all the items in the list, however notifications for
each item in the list will happen according to their aaaaiiiiooooccccbbbb---->>>>aaaaiiiioooo____ssssiiiiggggeeeevvvveeeennnntttt
structures. If ssssiiiigggg is not NULL then notification will happen according
to ssssiiiigggg---->>>>ssssiiiiggggeeeevvvv____nnnnoooottttiiiiffffyyyy when all items in the list have completed their I/O
operations.
If ssssiiiiggggeeeevvvv____nnnnoooottttiiiiffffyyyy is SSSSIIIIGGGGEEEEVVVV____NNNNOOOONNNNEEEE, then no notification will be posted to the
calling application.
If ssssiiiiggggeeeevvvv____nnnnoooottttiiiiffffyyyy is SSSSIIIIGGGGEEEEVVVV____SSSSIIIIGGGGNNNNAAAALLLL, then the signal specified in ssssiiiiggggeeeevvvv____ssssiiiiggggnnnnoooo
will be sent to the calling process. If SSSSAAAA____SSSSIIIIGGGGIIIINNNNFFFFOOOO is set for the signal
(see ssssiiiiggggaaaaccccttttiiiioooonnnn((((2222))))) and the signal is in the range of SSSSIIIIGGGGRRRRTTTTMMMMIIIINNNN and
SSSSIIIIGGGGRRRRTTTTMMMMAAAAXXXX then the signal will be queued to the process and the value in
ssssiiiiggggeeeevvvv____vvvvaaaalllluuuueeee will be the ssssiiii____vvvvaaaalllluuuueeee in the generated signal.
If ssssiiiiggggeeeevvvv____nnnnoooottttiiiiffffyyyy is SSSSIIIIGGGGEEEEVVVV____CCCCAAAALLLLLLLLBBBBAAAACCCCKKKK then the function ssssiiiiggggeeeevvvv____ffffuuuunnnncccc will be
called with ssssiiiiggggeeeevvvv____vvvvaaaalllluuuueeee as the argument. Only one callback will be called
at a time, however programs should be careful to note that a callback may
be run in parallel with the calling process.
If ssssiiiiggggeeeevvvv____nnnnoooottttiiiiffffyyyy is SSSSIIIIGGGGEEEEVVVV____TTTTHHHHRRRREEEEAAAADDDD then the function ssssiiiiggggeeeevvvv____nnnnoooottttiiiiffffyyyy____ffffuuuunnnnccccttttiiiioooonnnn
will be called by a new thread (see pppptttthhhhrrrreeeeaaaaddddssss((((5555))))) with ssssiiiiggggeeeevvvv____vvvvaaaalllluuuueeee as the
argument. This thread is created when the event arrives with the
attributes specified in ssssiiiiggggeeeevvvv____nnnnoooottttiiiiffffyyyy____aaaattttttttrrrriiiibbbbuuuutttteeeessss except that it is
automatically detached. The calling process should ensure there are
The lllliiiisssstttt argument is a pointer to an array of pointers to aaaaiiiiooooccccbbbb
structures. The array contains nnnneeeennnntttt elements.
The I/O requests enumerated by list are submitted in an unspecified order
unless the file was opened with the OOOO____AAAAPPPPPPPPEEEENNNNDDDD in which case the write
operations will happen in the order that they appear in the list.
The aaaaiiiioooo____lllliiiioooo____ooooppppccccooooddddeeee field of each aaaaiiiiooooccccbbbb structure specifies the operation
to be performed. The supported operations are LLLLIIIIOOOO____RRRREEEEAAAADDDD, LLLLIIIIOOOO____WWWWRRRRIIIITTTTEEEE, and
LLLLIIIIOOOO____NNNNOOOOPPPP. The LLLLIIIIOOOO____NNNNOOOOPPPP operation causes that list entry to be ignored. If
the aaaaiiiioooo____lllliiiioooo____ooooppppccccooooddddeeee element is equal to LLLLIIIIOOOO____RRRREEEEAAAADDDD, then an I/O operation is
submitted as if by a call to aaaaiiiioooo____rrrreeeeaaaadddd(((()))) with the aaaaiiiiooooccccbbbbpppp equal to the
address of the aiocb ssssttttrrrruuuuccccttttuuuurrrreeee.... IIIIffff tttthhhheeee aaaaiiiioooo____lllliiiioooo____ooooppppccccooooddddeeee element is equal to
LLLLIIIIOOOO____WWWWRRRRIIIITTTTEEEE, then an I/O operation is submitted as if by a call to
aaaaiiiioooo____wwwwrrrriiiitttteeee(((()))) with the aaaaiiiiooooccccbbbbpppp equal to the address of the aaaaiiiiooooccccbbbb structure.